import { defineConfig, loadEnv } from "vite";
import react from "@vitejs/plugin-react";
import path from "path";

export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd());
  console.log(env.VITE_APP_PROXY_URL, "????????");
  return {
    plugins: [react()],
    //静态资源服务文件夹
    publicDir: "public",
    base: "./",
    build: {
      outDir: "dist",
      //生成静态资源的存放路径
      assetsDir: "assets",
      sourcemap: true,
      //默认情况下，若 outDir 在 root 目录下，则 Vite 会在构建时清空该目录。
      emptyOutDir: true,
      //chunk 大小警告的限制
      chunkSizeWarningLimit: 500,
    },
    resolve: {
      alias: {
        "@": path.resolve(__dirname, "src"),
      },
    },
    server: {
      port: 3001, //端口号
      strictPort: true, //是否是严格的端口号，如果true，端口号被占用的情况下，vite会退出
      host: "localhost",
      cors: true, //为开发服务器配置 CORS , 默认启用并允许任何源
      https: false, //是否支持http2 如果配置成true 会打开https://localhost:3001/xxx;
      open: true, //是否自动打开浏览器
      // 反向代理 跨域配置
      proxy: {
        "^/api": {
          target: env.VITE_APP_PROXY_URL,
          changeOrigin: true,
          secure: false,
          withCredentials: true,
          rewrite: (path) => path.replace(/^\/api/, ``),
        },
      },
    },
  };
});
